package com.ruoyi.mall.common.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理对象 dts_order
 *
 * @author ruoyi
 * @date 2025-03-10
 */
public class DtsOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long id;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderSn;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal orderPrice;

    /** 支付金额 */
    @Excel(name = "支付金额")
    private BigDecimal actualPrice;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private String shipSn;

    /** 物流渠道 */
    @Excel(name = "物流渠道")
    private String shipChannel;

    /** 收货人 */
    private String consignee;

    /** 手机号 */
    private String mobile;

    /** 地址 */
    private String address;

    /** 用户留言 */
    private String message;

    /** 商品总价 */
    private BigDecimal goodsPrice;

    /** 快递费用 */
    private BigDecimal freightPrice;

    /** 优惠减免 */
    private BigDecimal couponPrice;

    /** 积分减免 */
    private BigDecimal integralPrice;

    /** 团购优惠价减免 */
    private BigDecimal grouponPrice;

    /** 支付渠道 */
    private String payId;

    /** 发货开始时间 */
    private Date shipTime;

    /** 确认收货时间 */
    private Date confirmTime;

    /** 待评价订单商品数量 */
    private Integer comments;

    /** 订单关闭时间 */
    private Date endTime;

    /** 创建时间 */
    private Date addTime;

    /** 逻辑删除 */
    private Integer deleted;

    /** 代理结算金额 */
    private BigDecimal settlementMoney;

    /** 结算状态 */
    private Integer settlementStatus;

    /** 配送方式 ：0 快递, 1 自提 */
    private Integer freightType;

    /** 推广用户 */
    private Long shareUserId;

    /** 提货码 */
    private String fetchCode;

    /** 原始创建人 */
    private Long createUserId;

    /** 转赠发送时间 */
    private Date giftSendTime;

    /** 转赠接收时间 */
    private Date giftReceiveTime;

    private Long couponId;

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    private List<DtsUser> userList;

    private List<DtsOrderGoods> orderGoodsList;

    private List<DtsOrderStatus> orderStatusList;

    private String orderGoods;

    private DtsOrderStatus dtsorderStatus;

    public DtsOrderStatus getDtsorderStatus() {
        return dtsorderStatus;
    }

    public void setDtsorderStatus(DtsOrderStatus dtsorderStatus) {
        this.dtsorderStatus = dtsorderStatus;
    }

    public List<DtsOrderStatus> getOrderStatusList() {
        return orderStatusList;
    }

    public void setOrderStatusList(List<DtsOrderStatus> orderStatusList) {
        this.orderStatusList = orderStatusList;
    }

    public List<DtsUser> getUserList() {
        return userList;
    }

    public void setUserList(List<DtsUser> userList) {
        this.userList = userList;
    }

    public List<DtsOrderGoods> getOrderGoodsList() {
        return orderGoodsList;
    }

    public void setOrderGoodsList(List<DtsOrderGoods> orderGoodsList) {
        this.orderGoodsList = orderGoodsList;
    }





    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrderSn(String orderSn)
    {
        this.orderSn = orderSn;
    }

    public String getOrderSn()
    {
        return orderSn;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }
    public void setOrderPrice(BigDecimal orderPrice)
    {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getOrderPrice()
    {
        return orderPrice;
    }
    public void setActualPrice(BigDecimal actualPrice)
    {
        this.actualPrice = actualPrice;
    }

    public BigDecimal getActualPrice()
    {
        return actualPrice;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setShipSn(String shipSn)
    {
        this.shipSn = shipSn;
    }

    public String getShipSn()
    {
        return shipSn;
    }
    public void setShipChannel(String shipChannel)
    {
        this.shipChannel = shipChannel;
    }

    public String getShipChannel()
    {
        return shipChannel;
    }
    public void setConsignee(String consignee)
    {
        this.consignee = consignee;
    }

    public String getConsignee()
    {
        return consignee;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setMessage(String message)
    {
        this.message = message;
    }

    public String getMessage()
    {
        return message;
    }
    public void setGoodsPrice(BigDecimal goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice()
    {
        return goodsPrice;
    }
    public void setFreightPrice(BigDecimal freightPrice)
    {
        this.freightPrice = freightPrice;
    }

    public BigDecimal getFreightPrice()
    {
        return freightPrice;
    }
    public void setCouponPrice(BigDecimal couponPrice)
    {
        this.couponPrice = couponPrice;
    }

    public BigDecimal getCouponPrice()
    {
        return couponPrice;
    }
    public void setIntegralPrice(BigDecimal integralPrice)
    {
        this.integralPrice = integralPrice;
    }

    public BigDecimal getIntegralPrice()
    {
        return integralPrice;
    }
    public void setGrouponPrice(BigDecimal grouponPrice)
    {
        this.grouponPrice = grouponPrice;
    }

    public BigDecimal getGrouponPrice()
    {
        return grouponPrice;
    }
    public void setPayId(String payId)
    {
        this.payId = payId;
    }

    public String getPayId()
    {
        return payId;
    }
    public void setShipTime(Date shipTime)
    {
        this.shipTime = shipTime;
    }

    public Date getShipTime()
    {
        return shipTime;
    }
    public void setConfirmTime(Date confirmTime)
    {
        this.confirmTime = confirmTime;
    }

    public Date getConfirmTime()
    {
        return confirmTime;
    }
    public void setComments(Integer comments)
    {
        this.comments = comments;
    }

    public Integer getComments()
    {
        return comments;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setAddTime(Date addTime)
    {
        this.addTime = addTime;
    }

    public Date getAddTime()
    {
        return addTime;
    }
    public void setDeleted(Integer deleted)
    {
        this.deleted = deleted;
    }

    public Integer getDeleted()
    {
        return deleted;
    }
    public void setSettlementMoney(BigDecimal settlementMoney)
    {
        this.settlementMoney = settlementMoney;
    }

    public BigDecimal getSettlementMoney()
    {
        return settlementMoney;
    }
    public void setSettlementStatus(Integer settlementStatus)
    {
        this.settlementStatus = settlementStatus;
    }

    public Integer getSettlementStatus()
    {
        return settlementStatus;
    }
    public void setFreightType(Integer freightType)
    {
        this.freightType = freightType;
    }

    public Integer getFreightType()
    {
        return freightType;
    }
    public void setShareUserId(Long shareUserId)
    {
        this.shareUserId = shareUserId;
    }

    public Long getShareUserId()
    {
        return shareUserId;
    }
    public void setFetchCode(String fetchCode)
    {
        this.fetchCode = fetchCode;
    }

    public String getFetchCode()
    {
        return fetchCode;
    }
    public void setCreateUserId(Long createUserId)
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId()
    {
        return createUserId;
    }
    public void setGiftSendTime(Date giftSendTime)
    {
        this.giftSendTime = giftSendTime;
    }

    public Date getGiftSendTime()
    {
        return giftSendTime;
    }
    public void setGiftReceiveTime(Date giftReceiveTime)
    {
        this.giftReceiveTime = giftReceiveTime;
    }

    public Date getGiftReceiveTime()
    {
        return giftReceiveTime;
    }

    public String getOrderGoods() {
        return orderGoods;
    }

    public void setOrderGoods(String orderGoods) {
        this.orderGoods = orderGoods;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderSn", getOrderSn())
            .append("userId", getUserId())
            .append("orderStatus", getOrderStatus())
            .append("orderPrice", getOrderPrice())
            .append("actualPrice", getActualPrice())
            .append("payTime", getPayTime())
            .append("shipSn", getShipSn())
            .append("shipChannel", getShipChannel())
            .append("consignee", getConsignee())
            .append("mobile", getMobile())
            .append("address", getAddress())
            .append("message", getMessage())
            .append("goodsPrice", getGoodsPrice())
            .append("freightPrice", getFreightPrice())
            .append("couponPrice", getCouponPrice())
            .append("integralPrice", getIntegralPrice())
            .append("grouponPrice", getGrouponPrice())
            .append("payId", getPayId())
            .append("shipTime", getShipTime())
            .append("confirmTime", getConfirmTime())
            .append("comments", getComments())
            .append("endTime", getEndTime())
            .append("addTime", getAddTime())
            .append("updateTime", getUpdateTime())
            .append("deleted", getDeleted())
            .append("settlementMoney", getSettlementMoney())
            .append("settlementStatus", getSettlementStatus())
            .append("freightType", getFreightType())
            .append("shareUserId", getShareUserId())
            .append("fetchCode", getFetchCode())
            .append("createUserId", getCreateUserId())
            .append("giftSendTime", getGiftSendTime())
            .append("giftReceiveTime", getGiftReceiveTime())
            .append("orderGoods", getOrderGoods())
            .toString();
    }
}
